package cn.edu.hyit.hjq.volunteems.backend.service;

import cn.edu.hyit.hjq.volunteems.backend.dto.request.ActivityRequest;
import cn.edu.hyit.hjq.volunteems.backend.pojo.Activity;

import java.util.List;

/**
 * 活动服务接口
 * 提供活动的发布、管理和查询功能
 *
 * @module 活动管理
 */
public interface ActivityService {

    /**
     * 管理员发布活动
     *
     * @param request 包含活动信息的请求对象，包含活动标题、时间、地点等详细信息
     * @param userId 发布活动的管理员的唯一标识符
     */
    void publishActivity(ActivityRequest request, String userId);

    /**
     * 分页获取活动列表，并按照活动状态排序
     *
     * @param page 当前页码，从1开始
     * @param size 每页显示的活动数量
     * @return 返回活动列表，按活动状态排序
     */
    List<Activity> getActivitiesSortedByStatus(int page, int size);
}
